At present, large or very large integrated circuits can be application specific integrated circuits (ASICS) or field programmable gate arrays (FPGAs). ASICs are integrated circuit customized during manufacturing for a particular use while FPGAs are arrays of logic elements and interconnects that are configured and manufactured such that the logic functions and interconnects are programmable in the field after the FPGAs are manufactured. FPGAs allow the customer the flexibility of defining the configuration of the gate arrays after manufacturing to accommodate a variety of field conditions and applications. However, FPGAs are generally slower and the density of elements in the FPGAs is lower and thus they are generally more expensive than ASICs.
Mask programmable gate arrays (MPGAs) are a form of ASIC that has become popular with the manufacturers. They have arrays of logic elements and other active components specified by the designer of the MPGA but the metallization layers i.e., the wire inter-connections between the elements or devices of the arrays are customized by a customer for a particular use and incorporated in the manufacturing of the MPGAs.
Generally for MPGAs, structurally, the designer defines the circuit and logic elements, such as shift registers, embedded cpus, arithmetic units, and counters and the customer selects the desired functionalities, which then defines the interconnection layers, such as the metal wire and via layers to customize the design of the integrated circuit for the user's application. Until the customer-defined interconnections are made, the array of devices is uncommitted and devoid of functionality. Since the majority of the layers of the circuit uses stock designs from a designer/manufacturer, only a minimal number of photo-lithographic masks for the interconnect layers has to be custom designed and made. Therefore, an application specific MPGA for a customer can be manufactured less expensively and more rapidly than a fully customized ASIC where each layer of the circuit is customized designed and fabricated for a specific customer. However, MPGA has the limitation that the customer customization occurs at the design stage. Here, the designer can be a vendor of the MPGAs designing the MPGAs in accordance with customer provided specification.
Existing designs of integrated circuits also do not allow a customer the flexibility of programming the input/out ports, either before or after manufacturing. This limits the capability and flexibility of the finished products.
Due to the limitations of the prior art, it is therefore desirable to have architectures and processes for producing such architectures and fabricating integrated circuits that would provide the flexibility of FPGAs, and the convenience and low cost manufacturing features of MPGAs.